package org.jeecg.modules.chg.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @Description: 收费记录
 * @Author: jeecg-boot
 * @Date:   2022-02-21
 * @Version: V1.0
 */
@ApiModel(value="mws_t_chg_fees对象", description="收费记录")
@Data
@TableName("mws_t_chg_fees")
public class ChgFees implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private java.lang.String id;
	/**缴费记录*/
	@Excel(name = "缴费记录", width = 15)
    @ApiModelProperty(value = "缴费记录")
    private java.lang.String paymentId;
    /**缴费批号*/
    @Excel(name = "缴费批号", width = 15)
    @ApiModelProperty(value = "缴费批号")
    private java.lang.String batchNo;
	/**户号*/
//	@Excel(name = "户号", width = 15, dictTable = "mws_t_arc_customers", dicText = "code", dicCode = "id")
//    @Dict(dictTable = "mws_t_arc_customers", dicText = "code", dicCode = "id")
    @ApiModelProperty(value = "户号")
    private java.lang.String cusId;
	/**户名*/
	@Excel(name = "户名", width = 15)
    @ApiModelProperty(value = "户名")
    private java.lang.String cusName;
	/**抄表月份*/
	@Excel(name = "抄表月份", width = 15)
    @ApiModelProperty(value = "抄表月份")
    private java.lang.String readMonth;
	/**起度*/
	@Excel(name = "起度", width = 15)
    @ApiModelProperty(value = "起度")
    private java.math.BigDecimal beginScale;
	/**止度*/
	@Excel(name = "止度", width = 15)
    @ApiModelProperty(value = "止度")
    private java.math.BigDecimal endScale;
	/**水量*/
	@Excel(name = "水量", width = 15)
    @ApiModelProperty(value = "水量")
    private java.math.BigDecimal amount;
    /**合计金额-仅水费 -01*/
    @Excel(name = "合计金额", width = 15)
    @ApiModelProperty(value = "合计金额")
    private java.math.BigDecimal totalMoney;
    /**违约金-02*/
    @Excel(name = "违约金", width = 15)
    @ApiModelProperty(value = "违约金")
    private java.math.BigDecimal penalty;
    //03
    @Excel(name = "污水金额", width = 15)
    @ApiModelProperty(value = "污水金额")
    private java.math.BigDecimal wuMoney;
    /**杂项金额 04*/
    @Excel(name = "杂项金额", width = 15)
    @ApiModelProperty(value = "杂项金额")
    private java.math.BigDecimal alienMoney;
    //05
    @Excel(name = "二次加压金额", width = 15)
    @ApiModelProperty(value = "二次加压金额")
    private java.math.BigDecimal jyMoney;
    //06
    @Excel(name = "季节加价费金额", width = 15)
    @ApiModelProperty(value = "季节加价费金额")
    private java.math.BigDecimal jiMoney;
    //07
    @Excel(name = "垃圾费金额", width = 15)
    @ApiModelProperty(value = "垃圾费金额")
    private java.math.BigDecimal ljMoney;
    /**增值税金额*/
    @Excel(name = "增值税金额", width = 15)
    @ApiModelProperty(value = "增值税金额")
    private java.math.BigDecimal vatMoney;
    /**折后金额*/
    @Excel(name = "折后金额", width = 15)
    @ApiModelProperty(value = "折后金额")
    private java.math.BigDecimal money;
	/**收费方式 收费类型1,全部收费,2部分收费,3余额预存（收费剩下）*/
	@Excel(name = "收费方式", width = 15, dicCode = "fee_charge_type")
    @Dict(dicCode = "fee_charge_type")
    @ApiModelProperty(value = "收费方式")
    private java.lang.String feeChargeType;
    /**支付方式1,窗口现金,2窗口扫码,3微信,4余额*/
    @Excel(name = "支付方式", width = 15, dicCode = "fee_pay_way")
    @Dict(dicCode = "fee_pay_way")
    @ApiModelProperty(value = "支付方式")
    private java.lang.String feePayWay;

	/**前次余额*/
	@Excel(name = "前次余额", width = 15)
    @ApiModelProperty(value = "前次余额")
    private java.math.BigDecimal preBalance;
	/**预存缴费金额*/
	@Excel(name = "预存缴费金额", width = 15)
    @ApiModelProperty(value = "预存缴费金额")
    private java.math.BigDecimal storedPaymentMoney;
	/**实收金额*/
	@Excel(name = "实收金额", width = 15)
    @ApiModelProperty(value = "实收金额")
    private java.math.BigDecimal recivedMoney;
	/**本次余额*/
	@Excel(name = "本次余额", width = 15)
    @ApiModelProperty(value = "本次余额")
    private java.math.BigDecimal postBalance;
	/**抄表员*/
	@Excel(name = "抄表员", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @ApiModelProperty(value = "抄表员")
    private java.lang.String readerId;
	/**抄表本*/
	@Excel(name = "抄表本", width = 15)
    @ApiModelProperty(value = "抄表本")
    private java.lang.String bookId;
	/**冲账状态  1-正常,2-被冲帐,3-冲帐记录*/
	@Excel(name = "冲账状态", width = 15, dicCode = "fee_struck_status")
    @Dict(dicCode = "fee_struck_status")
    @ApiModelProperty(value = "冲账状态")
    private java.lang.Integer feeStruckStatus;
	/**被冲记录*/
	@Excel(name = "被冲记录", width = 15)
    @ApiModelProperty(value = "被冲记录")
    private java.lang.String struckChargeId;
	/**财务日期*/
	@Excel(name = "财务日期", width = 15)
    @ApiModelProperty(value = "财务日期")
    private java.lang.String financialDate;
	/**财务月份*/
	@Excel(name = "财务月份", width = 15)
    @ApiModelProperty(value = "财务月份")
    private java.lang.String financialMonth;
	/**状态*/
	@Excel(name = "状态", width = 15)
    @ApiModelProperty(value = "状态")
    private java.lang.Integer status;
	/**同步标识*/
	@Excel(name = "同步标识", width = 15)
    @ApiModelProperty(value = "同步标识")
    private java.math.BigDecimal syncFlag;
	/**最后同步时间*/
	@Excel(name = "最后同步时间", width = 15)
    @ApiModelProperty(value = "最后同步时间")
    private java.lang.String syncDatetime;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remark;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;
	/**部门编码*/
    @ApiModelProperty(value = "部门编码")
    private java.lang.String sysOrgCode;
	/**是否删除*/
//	@Excel(name = "是否删除", width = 15)
    @ApiModelProperty(value = "是否删除")
    private java.lang.Integer delFlag;
	/**租户网点*/
//	@Excel(name = "租户网点", width = 15)
    @ApiModelProperty(value = "租户网点")
    private java.lang.Integer tenantId;

	/**缴费账户*/
	private transient String accCode;
	/**水表用户*/
	private transient String cusCode;

    /***t1.sf_fee  ,t1.wu_fee ,t1.za_fee ,t1.ji_fee ,t1.lj_fee ,t1.vat_fee*/
    //水费
    private transient BigDecimal sfFee;
    //污水费
    private transient BigDecimal wuFee;
    //杂项
    private transient BigDecimal zaFee;
    //季节性加价
    private transient BigDecimal jiFee;
    //垃圾
    private transient BigDecimal ljFee;
    //增值税
    private transient BigDecimal vatFee;

}
